2025-11-21
Выполнить первый раздел внешнего курса “Системный администратор Linux с нуля”.
Задания первого, второго и третьего модулей, а также тесты.
Рисунок 1: модуль 2
Устанавливаем утилиту htop.
Запускаем htop и сортируем процессы по использованию оперативной памяти.
Рисунок 3: модуль 2
Узнаем, сколько осталось свободного места на диске.
В каталоге /var находим подкаталоги, занимающие больше всего места.
Читаем из системного журнала последние сообщения, связанные с ядром (kernel).
Проверяем состояние SSH.
Рисунок 7: модуль 2
Получаем список всех активных служб.
Рисунок 8: модуль 2
Находим конфигурационный файл сервиса SSH. Открываем его с помощью текстового редактора, например nano, и просматриваем, какие настройки там указаны.
Рисунок 9: модуль 2
Просматриваем, какие журналы есть в системе.
Рисунок 10: модуль 2
Просатриваем последние двадцать записей в системном журнале.
Рисунок 11: модуль 2
Узнаём, используются ли в системе «сторонние» приложения, не управляемые пакетным менеджером.
Рисунок 12: модуль 2
Представляем, что в системе установлен веб-сервер Nginx и нам нужно выполнить его перенастройку. Переходим в каталог с конфигурациями, находим файл с основными настройками, делаем резервную копию перед изменениями, открываем файл для редактирования, после изменений перезапускаем сервис.
Рисунок 13: модуль 2
Получаем информацию о процессоре.
Запрашиваем данные об использовании памяти. Обращаем внимание на поля: MemTotal, MemFree, Buffers и другие.
Просматриваем список файлов в каталоге /dev.
Рисунок 16: модуль 2
Узнаем текущий каталог. Переходим в домашний каталог и получаем список всех файлов, включая скрытые. Смотрим последние десять записей в системном журнале syslog, связанных с сервисом systemd.
Рисунок 17: модуль 3
Создаем каталог project, внутри которого создаем несколько подкаталогов: logs, data и backup.
Создаем текстовые файлы: error.log в каталоге ~/project/logs/ и info.txt в каталоге ~/project/data/. После этого проверяем, что файлы созданы.
Рисунок 19: модуль 3
Копируем файл info.txt из каталога ~/project/data в папку ~/project/backup.
Рисунок 20: модуль 3
Перемещаем файл error.log из каталога ~/project/logs/ в папку ~/project/data/.
Рисунок 21: модуль 3
Удаляем папку project вместе со всем содержимым.
Рисунок 22: модуль 3
Создаем архив archive_test.tar.gz методами tar и gzip, внутри которого помещаем три файла: file1.txt, file2.txt, file3.txt.
Извлекаем архив archive_test.tar.gz в директорию ~/extracted.
Рисунок 24: модуль 3
Передаем архив archive_test.tar.gz с локального компьютера на сервер в папку backups. Используем IP-адрес 192.168.1.10 и имя пользователя user.
Создаем скрипт clean_logs.sh, который будет архивировать все логи в директории /var/log.
Рисунок 26: модуль 3
Делаем скрипт исполняемым и запускаем его.
Рисунок 27: модуль 3
Автоматизируем запуск скрипта с помощью cron. Настраиваем запуск скрипта clean_logs.sh в первый день каждого месяца в 3:30 утра.
Потому что свобода, определяющая свободное ПО, — это свобода изучать, изменять и улучшать программу.
Zabbix, так как это специализированная, мощная и широко распространенная система мониторинга.
Ключевая задача системного администратора — это обеспечение стабильности и доступности IT-инфраструктуры.
Bash является самой распространенной и стандартной командной оболочкой в большинстве дистрибутивов Linux.
Man, если нам требуется получить наиболее полную и структурированную справочную информацию о команде, утилите или системном вызове.
Мы повышаем привилегии, когда необходимо выполнить действие, затрагивающее работу всей системы или других пользователей.
Мы отказываемся от графического интерфейса на серверах, потому что это позволяет нам направить все вычислительные ресурсы на выполнение основных сервисных задач, а не на рендеринг графики.
Мы используем SSH, так как этот протокол обеспечивает нам шифрованное сетевое соединение для безопасного удаленного управления серверами.
Мы различаем эти понятия следующим образом: Терминал — это программа, которая предоставляет нам текстовый интерфейс для ввода команд и вывода результатов. Оболочка — это командный интерпретатор, который работает внутри терминала, читает введенные нами команды, выполняет их и возвращает результат.
Мы знаем, что каталог /etc является стандартным местом хранения глобальных конфигурационных файлов системы и установленных программ.
Мы обращаемся к каталогу /var/log, поскольку он специально предназначен для хранения постоянно растущих файлов, к которым относятся логи.
Мы используем каталог /opt для установки стороннего проприетарного программного обеспечения или больших программных пакетов, которые поставляются в виде самостоятельных сборок и не управляются пакетным менеджером дистрибутива.
Мы рассматриваем каталог /dev как виртуальную файловую систему, в которой ядро Linux представляет все физические и виртуальные устройства в виде специальных файлов.
Мы используем виртуальную файловую систему /proc как окно в ядро системы.
Мы применяем команду cat для просмотра содержимого виртуальных файлов в /proc и /dev, потому что она работает с любыми файлами, просто выводя их содержимое в стандартный вывод.
Мы используем команду pwd, чтобы точно определить, в каком каталоге мы сейчас находимся. Это базовая команда для навигации и ориентации в файловой системе. Мы используем флаг -a с командой ls, чтобы отобразить все файлы, включая скрытые, имена которых начинаются с точки. Мы используем относительный путь. Поскольку мы уже находимся в каталоге /etc, то для перехода в его подкаталог apache2 нам достаточно команды cd apache2.
Мы используем символ тильды (~) как сокращение, которое оболочка автоматически расширяет до абсолютного пути к домашнему каталогу текущего пользователя. Мы строим такой конвейер, когда нам нужно отфильтровать подробный вывод команды ls -l и оставить только те строки, в которых встречается подстрока “ssh”.
Мы используем команду tar с ключами -c, -z и -f для создания сжатого tarball-архива из указанной папки. Мы используем команду tar с ключами -x, -z и -f для распаковки сжатого tarball-архива. Мы используем команду scp с ключом -r для безопасного копирования всей папки вместе с её содержимым по SSH на удаленный сервер.
Мы используем команду chmod с ключом +x, чтобы дать текущему пользователю право запускать файл как программу или скрипт. Мы используем символ # в скриптах на Bash и многих других языках сценарного программирования, чтобы обозначить начало комментария. Мы используем эту команду find для поиска в каталоге /var/log файлов, измененных более 7 дней назад, и для каждого найденного файла выполняем команду его принудительного удаления.
Рисунок 47
Рисунок 48
Рисунок 49
Рисунок 50
Рисунок 51
Рисунок 52
Рисунок 53
Рисунок 54
Мы выполнили первый раздел внешнего курса “Системный администратор Linux с нуля”.